package cnn.test.service;

import cnn.topfox.service.SimpleService;
import cnn.user.dao.UserDao;
import cnn.user.entity.UserDTO;
import cnn.user.entity.UserQTO;
import org.springframework.stereotype.Service;

@Service
public class CheckData2Service extends SimpleService<UserDao, UserDTO, UserQTO> {

    /**
     * 数据校验组件 示例四 示例六
     */
    //插入时
    @Override
    public int insert(UserDTO userDTO) {
        //从检查传入的手机号 是否有重复
        checkData(userDTO)
                .setFields("mobile")
                .excute();
        // 通过检查, 则执行父类的插入方法
        return super.insert(userDTO);
    }
    ////更新时
    @Override
    public int update(UserDTO userDTO) {
        //从检查传入的手机号 是否有重复
        checkData(userDTO)
                .setFields("mobile")
                .excute();
        // 通过检查, 则执行父类的插入方法
        return super.update(userDTO);
    }



    /**
     * 数据校验组件 示例六
     * 国家字段自己添加, 说明问题就行
     */
//    @Override
//    public int insert(UserDTO userDTO) {
//        //country和mobile的值一般是客户端写入值, 通过 userDTO 传递到这里
//        userDTO.setCountry("中国")     //指定国家
//                .setMobile("13588330001");//指定手机号
//
//        //检查重复
//        checkData(userDTO)
//                .setFields("country, mobile") //2个字段重复检查 country mobile
//                .setWhere(where().ne("mobile","*"))   //自定义条件
//                .excute();
//        //通过检查, 则执行父类的插入方法
//        return super.insert(userDTO);
//    }


    /**
     * 数据校验组件 示例七
     * 国家字段自己添加, 说明问题就行
     */
//    @Override
//    public int insert(UserDTO userDTO) {
//        //country和mobile的值一般是客户端写入值, 通过 userDTO 传递到这里
//        userDTO.setCountry("中国")     //指定国家
//                .setMobile("13588330001");//指定手机号
//
//        //检查重复
//        checkData(userDTO)
//                .addField("country", "国家")           //自定义 国家字段  有异常抛出的错误信息的字段的中文标题
//                .addField("mobile", "手机号")          //自定义 手机号字段 有异常抛出的错误信息的字段的中文标题
//                .setWhere(where().ne("mobile","*"))   //自定义条件
//                .excute();
//        //通过检查, 则执行父类的插入方法
//        return super.insert(userDTO);
//    }
}


